COBOL একটি প্রাচীন এবং প্রথাগত প্রোগ্রামিং ভাষা হলেও, এটি অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং (OOP) এর ধারণা গ্রহণ করেছে COBOL 2002 সংস্করণ থেকে। ইনহেরিটেন্স (Inheritance) এবং Polymorphism (পলিমরফিজম) OOP এর দুইটি গুরুত্বপূর্ণ ধারণা, যা প্রোগ্রামিংয়ে কোড পুনরায় ব্যবহারযোগ্যতা এবং নমনীয়তা বৃদ্ধি করতে সাহায্য করে।
এই ধারণাগুলো মূলত ক্লাস এবং অবজেক্ট ভিত্তিক প্রোগ্রামিং ভাষাগুলির অংশ, যেমন Java, C++, ইত্যাদি। তবে COBOL-এ ইনহেরিটেন্স এবং Polymorphism নির্দিষ্টভাবে Object-Oriented COBOL (OOP COBOL) এর মধ্যে অন্তর্ভুক্ত হয়েছে। নিচে এই দুটি ধারণার ব্যাখ্যা এবং COBOL-এ তাদের ব্যবহার কিভাবে করা হয় তা আলোচনা করা হলো।
ইনহেরিটেন্স হল অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিংয়ের একটি মৌলিক ধারণা, যার মাধ্যমে একটি ক্লাস (subclass বা derived class) তার পিতামাতা ক্লাস (superclass বা base class) এর বৈশিষ্ট্য (properties) এবং আচরণ (methods) উত্তরাধিকারসূত্রে লাভ করে। এটি কোড পুনরাবৃত্তি কমায় এবং কোডের পুনঃব্যবহারযোগ্যতা বাড়ায়।
COBOL-এ ইনহেরিটেন্স ব্যবহার করার জন্য INHERITS
কীওয়ার্ড ব্যবহার করা হয়। একটি সাবক্লাস পিতামাতা ক্লাস থেকে বৈশিষ্ট্য এবং আচরণ গ্রহণ করতে পারে, তবে COBOL-এ ইনহেরিটেন্স বেশ সীমিত এবং তার প্রয়োগ একটু ভিন্ন।
CLASS-ID. EMPLOYEE.
01 EMP-NAME PIC X(30).
01 EMP-ID PIC 9(5).
METHOD-ID. DISPLAY-INFO.
DISPLAY "Employee Name: " EMP-NAME.
DISPLAY "Employee ID: " EMP-ID.
END METHOD.
CLASS-ID. MANAGER INHERITS EMPLOYEE.
01 DEPARTMENT PIC X(20).
METHOD-ID. DISPLAY-INFO.
DISPLAY "Manager Name: " EMP-NAME.
DISPLAY "Manager ID: " EMP-ID.
DISPLAY "Department: " DEPARTMENT.
END METHOD.
PROCEDURE DIVISION.
CREATE MANAGER.
SET EMP-NAME TO "Alice".
SET EMP-ID TO 101.
SET DEPARTMENT TO "Finance".
INVOKE MANAGER "DISPLAY-INFO".
STOP RUN.
ব্যাখ্যা:
EMPLOYEE
ক্লাস একটি সাধারণ কর্মচারী ক্লাস, যা কর্মচারীর নাম এবং আইডি ধারণ করে।MANAGER
ক্লাস EMPLOYEE
ক্লাস থেকে ইনহেরিট করা হয়েছে এবং এতে অতিরিক্ত DEPARTMENT
বৈশিষ্ট্য এবং DISPLAY-INFO
মেথড রয়েছে।CREATE MANAGER
স্টেটমেন্টের মাধ্যমে একটি MANAGER
অবজেক্ট তৈরি করা হয়েছে এবং DISPLAY-INFO
মেথডটি কল করা হয়েছে।Polymorphism একটি OOP ধারণা, যার মাধ্যমে একাধিক অবজেক্ট বা মেথড একই নাম দিয়ে বিভিন্ন কাজ করতে পারে। এটি দুটি প্রধান ধরনের হতে পারে:
COBOL-এ Polymorphism সাধারণত Method Overriding এর মাধ্যমে অর্জিত হয়।
COBOL-এ polymorphism method overriding এর মাধ্যমে পাওয়া যায়। এখানে একটি মেথড যা পিতামাতা ক্লাসে ডিফাইন করা আছে, তা সাবক্লাসে পুনঃডিফাইন করা হয় এবং তার আচরণ পরিবর্তন করা হয়।
CLASS-ID. VEHICLE.
01 VEHICLE-NAME PIC X(20).
METHOD-ID. DISPLAY-INFO.
DISPLAY "Vehicle Name: " VEHICLE-NAME.
END METHOD.
CLASS-ID. CAR INHERITS VEHICLE.
01 CAR-TYPE PIC X(20).
METHOD-ID. DISPLAY-INFO.
DISPLAY "Car Name: " VEHICLE-NAME.
DISPLAY "Car Type: " CAR-TYPE.
END METHOD.
PROCEDURE DIVISION.
CREATE CAR.
SET VEHICLE-NAME TO "Toyota".
SET CAR-TYPE TO "Sedan".
INVOKE CAR "DISPLAY-INFO".
STOP RUN.
ব্যাখ্যা:
VEHICLE
ক্লাসের একটি সাধারণ মেথড DISPLAY-INFO
আছে যা গাড়ির নাম প্রদর্শন করে।CAR
ক্লাসে DISPLAY-INFO
মেথডটি আবার ডিফাইন করা হয়েছে, যেখানে গাড়ির নাম এবং গাড়ির প্রকার (Car Type) দেখানো হচ্ছে। এটি হল method overriding।INVOKE CAR "DISPLAY-INFO"
স্টেটমেন্টটি CAR
ক্লাসের মেথড কল করে, যা পিতামাতা ক্লাসের মেথডের তুলনায় ভিন্নভাবে আচরণ করছে।COBOL-এ OOP ধারণার ব্যবহার বর্তমানে কোড ম্যানেজমেন্ট এবং ডেভেলপমেন্টে আরও কার্যকরী এবং শক্তিশালী পদ্ধতি প্রদান করছে।
common.read_more